# This Python file uses the following encoding: utf-8

from django.db import models

from usuaris.models import Professor
from alumnes.models import Nivell, Alumne, Grup
from assignatures.models import Assignatura

class ItemQualitativa(models.Model):
    id_item = models.AutoField(primary_key=True)
    text = models.CharField(u'Item de la Qualitativa', max_length=120, unique=True, null=False, help_text = u"Important: No canvieu mai el significat d'una frase! Canviarieu els resultats de l'avaulació." )
    nivells = models.ManyToManyField( Nivell, help_text = u"Tria els nivells on aquesta frase pot aparèixer." )
    class Meta:
        ordering = ['text'] 
        db_table = u'itemQualitativa'
        verbose_name = u"Frase de l'avaluació qualitativa"
        verbose_name_plural = u"Frases de l'avaluació qualitativa"
    def __unicode__(self):
        return  self.text

class AvaluacioQualitativa(models.Model):
    id_avaluacio = models.AutoField(primary_key=True)
    nomAvaluacio = models.CharField(u'Avaluació Qualitativa', max_length=120, unique=True, null=False, help_text = u'Ex: Avaluació qualitativa 1ra Avaluació')
    data_obrir_avaluacio = models.DateField( u'Primer dia per entrar Qualitativa',unique=True, null=False, help_text=u"Data a partir de la qual els professors podran entrar l'avaluació.")
    data_tancar_avaluacio = models.DateField( u'Darrer dia per entrar Qualitativa',unique=True, null=False, help_text=u"Darrer dia que tenen els professors per entrar la Qualitativa.")
    grups = models.ManyToManyField( Grup, help_text = u"Tria els grups a avaluar." )    
    class Meta:
        ordering = ['data_obrir_avaluacio']  
        db_table = u'avaluacioQualitativa'
        verbose_name = u"Avaluació Qualitativa"
        verbose_name_plural = u"Avaluacions Qualitatives"
    def __unicode__(self):
        return  self.nomAvaluacio    
    
class RespostaAvaluacioQualitativa(models.Model):
    id_resposta = models.AutoField(primary_key=True)
    qualitativa = models.ForeignKey( AvaluacioQualitativa, db_column='id_qualitativa' )
    alumne = models.ForeignKey( Alumne , db_column='id_alumne')
    professor = models.ForeignKey(Professor, db_column='id_professor')
    assignatura = models.ForeignKey(Assignatura, db_column='id_assignatura')
    item = models.ForeignKey( ItemQualitativa )
    class Meta:
        ordering = ['qualitativa','assignatura','alumne' ]
        db_table = u'respostaAvaluacioQualitativa'
        verbose_name = u"Resposta Avaluació Qualitativa"
        verbose_name_plural = u"Respostes Avaluacions Qualitatives"
        unique_together = (("qualitativa","assignatura","alumne","professor","item",))
    
    def clean(self):
        rules.RespostaAvaluacioQualitativa_clean( self )    
    
            
# ----------------------------- B U S I N E S S       R U L E S ------------------------------------ #
from avaluacioQualitativa import rules
rules.connecta()                
    
    
    